package lc.优先队列;

import java.util.PriorityQueue;

/**
 * @description: 数组中的第K个最大元素
 * @author: qian
 * @createDate: 2021/8/20
 */
public class Math215 {


    public int findKthLargest(int[] nums, int k) {

        // 默认是最小堆
        PriorityQueue<Integer> queue = new PriorityQueue<>();
        for(int i = 0; i < k; i++) {
            queue.add(nums[i]);
        }
        for(int i = k; i < nums.length; i++) {
            if(!queue.isEmpty() && queue.peek() < nums[i]) {
                queue.remove();
                queue.add(nums[i]);
            }
        }
        return queue.peek();


    }
}
